2.02. Платформы программных продуктов
Платформы программных продуктов
В ряде случаев под платформой может пониматься не то, что мы рассмотрели выше, а именно некая совокупность ПО и инструментов, на базе которого собирается определённый функционал. В таком случае программа как таковая остаётся в ядре своём той же, но её возможности адаптируются под пользователя. Всё равно, что сайт остаётся сайтом, но у каждого пользователя интерфейс будет свой – это называется платформы программных продуктов:
- Коробочные решения – готовые продукты, которые устанавливаются локально (1C: Предприятие, Adobe Photoshop);
- Облачные SaaS технологии- Google Workspace, Microsoft 365;
- Облачные PaaS платформы – Heroku, Google App Engine;
- Гибридные решения – десктоп-приложения на веб-технологиях, мобильные приложения с веб-интерфейсом.
Их называют платформами, потому что это основа, на которой строится функционал, экосистема, включающая сервисы, API, настройки, интеграции. Это гибкая среда, адаптируемая под нужды разных пользователей или компаний, и не является статичным продуктом - скорее это динамическая система, которую можно расширять, кастомизировать и масштабировать. Например, 1С:Предприятие: ядро одно, но конфигурации (бухгалтерия, торговля, ЗП) — разные.
Программный продукт — это законченное, сертифицированное, поддерживаемое программное обеспечение, предназначенное для решения определённого класса задач у конечных пользователей или организаций. Он не требует написания кода с нуля, поддерживается вендором, лицензируется и масштабируется.
Вендор (Vendor) — компания-разработчик и поставщик программного обеспечения, которое приобретают другие компании или пользователи для решения своих задач. Именно вендор продаёт, арендует, распространяет свой продукт по подписке, и поставляет обновления, исправления, документацию.
Примеры - Microsoft, Google, Oracle, SAP, Adobe, Autodesk, 1C, Amazon. Крупнейшие корпорации мира стали богатейшими в первую очередь благодаря тому, что они разработали или выкупили успешный программный продукт, развили его как платформу и теперь просто получают пассивный доход.
Коробочное ПО (Boxed Software / On-Premises Software) — программный продукт, который поставляется в виде готового пакета для установки на локальное устройство или сервер компании. Пользователь или компания покупает лицензию (разовую или бессрочную), скачивает или получает на физическом носителе установочный пакет, устанавливает ПО на своё оборудование и настраивает под свои нужды. Это даёт полный контроль над данными и инфраструктурой, но требует своих ресурсов для установки, настройки и обновления.
Часто можно встретить понятие «On-Premise» или «On-Premises», модель развёртывания программного обеспечения, при которой всё ПО, данные и инфраструктура размещаются и управляются на собственных серверах и в помещениях организации, а не в облаке у стороннего провайдера. Это как раз и подразумевает, что программный продукт передаётся компании. On-Premises — это локальная модель, где вся ответственность лежит на компании-пользователе.
SaaS (Software as a Service) — модель доставки программного обеспечения, при которой приложение размещается в облаке, доступно через интернет, и оплачивается по подписке. Вендор развёртывает и поддерживает приложение на своих серверах, пользователь заходит туда через браузер или мобильное приложение, а данные хранятся в облаке вендора (или в доверенном облаке). Остаётся лишь оплачивать ежемесячно/ежегодно. Не нужно ничего устанавливать, обслуживать, и доступ откуда угодно.

PaaS (Platform as a Service) — облачная платформа, предоставляющая среду для разработки, тестирования и развёртывания приложений, без необходимости управлять серверами, ОС, сетями. Разработчик пишет код (веб-приложение, API, бот), загружает его на платформу, которая автоматически выбирает среду выполнения, запускает приложение, масштабирует нагрузку, обеспечивает БД, кеши, очереди и прочее. Разработчик лишь платит за эти ресурсы, процессорное время, память и трафик. Можно назвать «облачной мастерской».
Есть и другие «…aaS»:
- IaaS (Infrastructure as a Service) - это предоставление виртуальных серверов, дисков, сетей и балансировщиков. Примеры - AWS EC2, Azure Virtual Machines, Google Compute Engine.
- DaaS (Desktop as a Service) - виртуальный рабочий стол в облаке. Примеры - Amazon WorkSpaces, Windows 365 Cloud PC.
- FaaS (Function as a Service) - запуск отдельных функций по событию (serverless). Примеры - AWS Lambda, Azure Functions, Google Cloud Functions.
- CaaS (Containers as a Service) - управление контейнерами (Kubernetes в облаке). Примеры - AWS ECS, Google Kubernetes Engine, Azure Kubernetes Service.
- DBaaS (Database as a Service) - облачные базы данных. Примеры - Amazon RDS, Firebase, MongoDB Atlas.
Эта классификация пошла от NIST (Национальный институт стандартов и технологий США) и закрепилась в индустрии как стандарт описания облачных моделей, потому существуют такие понятия.
Гибридные же продукты возникают, когда пользователи хотят быстродействие и оффлайн-доступ (десктоп) + синхронизацию и доступ отовсюду (облако), а компании хотят контроль над данными (локально) + гибкость и масштабируемость (облако). Так мы и получаем, к примеру, Telegram, Steam, и прочие приложения, которые совмещают в себе элементы разных моделей.
Платформы создаются под разные цели — и это важно понимать при выборе решения:
- разработка, ускорение создания ПО (такие решения имеют SDK, API, шаблоны, хостинг и отладку);
- бизнес-задачи для автоматизации процессов компании (имеют модули под разные отделы, интеграции и отчётность);
- работа с клиентами - привлечение, удержание и обслуживание (имеют CRM, чат-боты, аналитику и уведомления);
- управление компаниями - сквозное управление ресурсами, проектами, командами (совместная работа, календари, задачи, документы, видеоконференции).
*** В разработке ***
Окружение
DEV/TEST-окружения
PROD-окружения
Окружение с доступом в интернет и встроенными базами данных
*** В разработке ***